/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.cip.esymons.tesoreria.beans;

import org.cip.esymons.general.util.ControladorAbstracto;
import java.util.ArrayList;
import java.util.List;
import javax.faces.model.SelectItem;
import org.cip.esymons.tesoreria.bc.TipoDocumentoTesoreriaDelegate;
import org.cip.esymons.tramite.be.TipoDocumento;

/**
 *
 * @author Ingrid Capuñay
 */
public class TipoDocumentoTesoreriaController extends ControladorAbstracto{
    private TipoDocumentoTesoreriaDelegate delegado;

    public TipoDocumentoTesoreriaController() {
        delegado=new TipoDocumentoTesoreriaDelegate();
    }

    public TipoDocumento buscarPorCodigo(Long id){
        try{
            return delegado.buscarUnTipoDocumento(id);
        }catch(Exception ex){
            return null;
        }
    }

    public List<TipoDocumento> autocompletarTipoDocumento(Object event) {
        List<TipoDocumento> lista = new ArrayList();
        String cond = event.toString();
        try {
            lista = delegado.buscarTipoDocumentoxNombre(cond);
        } catch (Exception ex) {
            error(ex.toString());
        }
        return lista;
    }

    public SelectItem[] getTipoDocumentoPagoItems() {
        try {
            List<TipoDocumento> ltd = delegado.listarDocumentosPagoXIngreso();
            SelectItem[] select = new SelectItem[ltd.size()];
            int i = 0;
            for (TipoDocumento td : ltd) {
                SelectItem item = new SelectItem(td, td.getTdoDesc());
                select[i++] = item;
            }

            return select;

        } catch (Exception ex) {
            SelectItem[] select = new SelectItem[1];
            SelectItem item = new SelectItem(null,"No existen Tipos de Documentos");
            select[0] = item;
            return select;
        }
    }
    public SelectItem[] getTipoDocumentosTesoreriaItems() {
        try {
            List<TipoDocumento> ltd = delegado.listarDocumentosParaTesoreria();
            SelectItem[] select = new SelectItem[ltd.size()];
            int i = 0;
            for (TipoDocumento td : ltd) {
                SelectItem item = new SelectItem(td, td.getTdoDesc());
                select[i++] = item;
            }

            return select;

        } catch (Exception ex) {
            SelectItem[] select = new SelectItem[1];
            SelectItem item = new SelectItem(null,"No existen Tipos de Documentos");
            select[0] = item;
            return select;
        }
    }

    public SelectItem[] getTipoDocumentosTesoreriaSinSerieVigentesItems() {
        try {
            List<TipoDocumento> ltd2 = delegado.listarDocPagoTesoreriaSinSeriesVigentes();
            SelectItem[] select = new SelectItem[ltd2.size()];
            int i = 0;
            for (TipoDocumento td2 : ltd2) {
                SelectItem item = new SelectItem(td2, td2.getTdoDesc());
                select[i++] = item;
            }

            return select;

        } catch (Exception ex) {
            SelectItem[] select = new SelectItem[1];
            SelectItem item = new SelectItem(null,"No existen Tipos de Documentos");
            select[0] = item;
            return select;
        }
    }
}
